In certain circumstances, it is very important that a computer system perform reliably. For example, some real time computer systems control complex and sometimes dangerous production processes. Failure within systems of this type may have adverse consequences both for the products being produced as well as for the health and safety of the surrounding environment. As another example, computer systems are often used in mission critical roles, such as in the controlling of air traffic. Once again, failure within these systems may have extremely serious consequences. Of course, even in cases where the failure of a computer system is not dangerous, failure may still be inconvenient or expensive. As a result, it is desirable to be able to detect ahead of time when a component, such as a hard disk drive, might fail, and to take measures to deal with the component before failure occurs.
Normally, computer hard disks are subject to a number of different analog and digital tests as part of the manufacturing process. Traditionally, these tests are performed by devices known as drive testers, a process that has several disadvantages. One such disadvantage associated with traditional disk drive testers is the inability of such devices to provide the type of failure prediction that may be usefully employed in high reliability computing environments. More specifically, it is generally the case that disk drives experience an increasing number of defects over the life-span of the drive. These defects, which arise after the drive has left the manufacturing environment, are known as "grown defects" and are important indicators of the health of an operating disk drive. For example, a drive that exhibits a large number of grown defects may be considered to be unusable. Alternatively, a rapidly increasing number of grown defects may indicate that the drive is about to experience a catastrophic failure. Unfortunately, it is often impractical to remove a functioning drive from a computer system so that it may be analyzed on a drive tester. Thus, there is a need for drive that can self-test and monitor its operational and test errors.